JSON-Format ObjectHtml
Objekte im Objekt-zu-Html-Format beschreiben HTML-Elemente für die Nutzung mit der Funktion {@link eLP.utils.objectToHtml}.
Zusätzlich zum Objekt-zu-Html-Format akzeptiert die Funktion auch Nummern und Strings, welche es direkt zurückgibt, und ein Array aus Objekten, Nummern und Strings, welche jeweils einzeln interpretiert und zurückgegeben werden.
Objekt mit Attribut "template"
Wenn das Objekt über das Attribut "element" verfügt, wird es anhand der entsprechenden Vorlage behandelt.
Vorlage | Beschreibung |
---|---|
infothek-menuelement | Strukturell bedingt, wird durch das eigene Attribut content ersetzt. |
infothek-submenuelement | Strukturell bedingt, wird durch das eigene Attribut content ersetzt. |
infothek-page | Erwartet eine Markdown-Seite und gibt das Ergebnis von {@link eLP.infothek.createInfothekPane} zurück. Genaueres siehe unten. |
panel | Erwartet einige spezielle Attribute, gibt ein oder mehrere panel s für die dynamischen Listen in der Infothek zurück. Genaueres siehe unten. |
list | Erwartet ein Array von Objekten im Objekt-zu-Html-Format unter dem Attribut content , jedes dieser Elemente wird als <li> -Element zurückgegeben. |
infothek-page
Das Objekt im Objekt-zu-Html-Format muss über das Attribut file
verfügen, unter dem ein weiteres Objekt mit folgenden Attributen gespeichert ist:
Attribut | Typ | Beschreibung |
---|---|---|
src | String | Pfad zu einer Markdown-Seite die geladen werden soll |
id | String | ID der zurückzugebenden Seite |
pfad | Array | Array aus Strings welche mit {@link eLP.core.translate} übersetzt werden um den Pfad der Seite als Brotkrümel-Navigation anzuzeigen |
type | String | Gibt den Typ der Seite an. "md" für Markdown, sonst Html-Seite |
Zurückgegeben wird eine Seite für die Infothek.
panel
Für diese Vorlage werden die folgenden Attribute im Objekt-zu-Html-Format, zusätzlich zum template = panel
, erwaret:
Attribut | Typ | Beschreibung | |
---|---|---|---|
content | Array ` | ` Objekt | Array von Objekten bzw. einzelnes Objekt mit zwei Attributen: content.list ist ein Array von Objekten im Objekt-zu-Html-Format, die als Listenelemente im Panel zurückgegeben werden; content.title ist der Titel des Panels |
selector | String | CSS-Selector des Vater-Elements des Panels, damit nur immer ein Element offen ist | |
panel-id | String | ID des Panels, nötig für das Auf- und Zuklappen des Panels |
Für jedes Objekt in content
wird ein Panel zurückgegeben.
Andere Objekte
Objekte die weder dem Objekt-zu-Element-Format noch einer Vorlage folgen, werden als eine Reihe von Angaben interpretiert wie sie zum Beispiel in der Community-Liste verwendet wird. Dabei wird für jedes der folgenden Attribute ein Element zurückgegeben, in der Reihenfolge wie hier:
Attribut | Beschreibung | |
---|---|---|
`header | h4` | Überschrift als <h4> -Element, wird im Objekt-zu-Html-Format erwartet |
strong | Fett hervorgehobener Absatz, wird im Objekt-zu-Html-Format erwartet | |
p | Beschreibender Absatz, wird im Objekt-zu-Html-Format erwartet | |
link | Link/URL, wird mit {@link eLP.utils.objectToLink} geparst | |
ul | Liste von Unter-Punkten, erwartet ein Array, jedes dieser Objekte wird als Objekt-zu-Html-Format erwartet |